1 Objectives

2 Cleft Lip and Palate 1/3

Cleft lip and cleft palate (CLP) are splits in the upper lip, the roof of the mouth (palate) or both. They result when facial structures that are developing in an unborn baby do not close completely. CLP is one of the most common birth defects with a frequency of 1/700 live births.

Cleft lip and palate

Cleft lip and palate

3 Cleft Lip and Palate 2/3

Children with cleft lip with or without cleft palate face a variety of challenges, depending on the type and severity of the cleft.

Reference: Mayo Foundation for Medical Education and Research

4 Cleft Lip and Palate 3/3

Reference: Hum Mol Genet. 2014 May 15; 23(10): 2711–2720

5 Question

Given:

  1. The pathogenic variant in IRF6 exists in only 70% of the VWS families

  2. IRF6 is a transcription factor

How can we identify other genes that might be involved in the remaining 30% of the VWS families?

6 Hint

7 Hypothesis

8 Why Microarray?

9 Original Paper

PMID: 17041601

PMID: 17041601

10 Experimental Design

11 Dataset

ID KO1 KO2 KO3 WT1 WT2 WT3
1415670_at 6531.0 5562.8 6822.4 7732.1 7191.2 7551.9
1415671_at 11486.3 10542.7 10641.4 10408.2 9484.5 7650.2
1415672_at 14339.2 13526.1 14444.7 12936.6 13841.7 13285.7
1415673_at 3156.8 2219.5 3264.4 2374.2 2201.8 2525.3

12 Loading

We are going to load the dataset from the .tsv file (Irf6.tsv) into a variable called data using the read.table function.
data here is just an arbitrary varilable name to hold the result of read.table and it can be called/named almost anything.
See The State of Naming Conventions in R for more information on naming varilables in R.

# Load the data from a file into a varilable
data = read.table("https://goo.gl/tYAz6v", header = TRUE, row.names = 1)

# Convert the data.frame (table) in a matrix (numeric)
data = as.matrix(data)

Note: the hash sign (#) indicates that what comes after is a comment. Comments are for documentation and readability of the R code and they are not evaluated (or executed).

13 Checking

dim(data) # Dimension of the dataset
## [1] 45101     6
head(data) # First few rows
KO1 KO2 KO3 WT1 WT2 WT3
1415670_at 6531.0 5562.8 6822.4 7732.1 7191.2 7551.9
1415671_at 11486.3 10542.7 10641.4 10408.2 9484.5 7650.2
1415672_at 14339.2 13526.1 14444.7 12936.6 13841.7 13285.7
1415673_at 3156.8 2219.5 3264.4 2374.2 2201.8 2525.3
1415674_a_at 4002.0 3306.9 3777.0 3760.6 3137.0 2911.5
1415675_at 3468.4 3347.4 3332.9 3073.5 3046.0 2914.4

14 Number of Genes and IDs

number_of_genes = nrow(data)
number_of_genes
## [1] 45101
ids = row.names(data)
head(ids)
## [1] "1415670_at"   "1415671_at"   "1415672_at"   "1415673_at"  
## [5] "1415674_a_at" "1415675_at"
length(ids)
## [1] 45101

15 Exploring

Check the behavior of the data (e.g., normal?, skewed?)

hist(data, col = "gray", main="Histogram")

16 Transforming

\(log_2\) transformation (why?)

data2 = log2(data)
hist(data2, col = "gray", main="Histogram")

17 Boxplot

colors = c(rep("navy", 3), rep("orange", 3))
boxplot(data2, col = colors, las = 2)

18 Clustering 1/2

Hierarchical clustering of the samples (i.e., columns) based on the correlation coefficients of the expression values

hc = hclust(as.dist(1 - cor(data2)))
plot(hc)

19 Clustering 2/2

To learn more about a function (e.g., hclust), you may type ?function (e.g., ?hclust) in the console to launch R documentation on that function:

20 Splitting Data Matrix into Two 1/2

ko = data2[, 1:3] # KO matrix
head(ko)
KO1 KO2 KO3
1415670_at 12.67309 12.44160 12.73606
1415671_at 13.48763 13.36396 13.37740
1415672_at 13.80768 13.72346 13.81825
1415673_at 11.62425 11.11602 11.67260
1415674_a_at 11.96651 11.69126 11.88303
1415675_at 11.76005 11.70883 11.70256

21 Splitting Data Matrix into Two 2/2

wt = data2[, 4:6] # WT matrix
head(wt)
WT1 WT2 WT3
1415670_at 12.91664 12.81202 12.88262
1415671_at 13.34543 13.21136 12.90128
1415672_at 13.65917 13.75673 13.69759
1415673_at 11.21323 11.10447 11.30224
1415674_a_at 11.87675 11.61517 11.50755
1415675_at 11.58567 11.57270 11.50898

22 Gene (Row) Mean Expression

# Compute the means of the KO samples
ko.means = rowMeans(ko)
head(ko.means)
##   1415670_at   1415671_at   1415672_at   1415673_at 1415674_a_at 
##     12.61692     13.40966     13.78313     11.47096     11.84693 
##   1415675_at 
##     11.72381
# Compute the means of the WT samples
wt.means = rowMeans(wt)
head(wt.means)
##   1415670_at   1415671_at   1415672_at   1415673_at 1415674_a_at 
##     12.87043     13.15269     13.70450     11.20664     11.66649 
##   1415675_at 
##     11.55578

23 Scatter 1/2

plot(ko.means ~ wt.means)
abline(0, 1, col = "red") # Diagonal line

24 Scatter 2/2

pairs(data2) # All pairwise comparisons

25 Differentially Expressed Genes (DEGs)

To identify DEGs, we will identify:

Then, we will take the overlap (intersection) of the two sets

26 Biological Significance (fold-change) 1/2

fold = ko.means - wt.means # Difference between means
head(fold)
##   1415670_at   1415671_at   1415672_at   1415673_at 1415674_a_at 
##  -0.25351267   0.25697097   0.07863227   0.26431191   0.18044345 
##   1415675_at 
##   0.16803065
  • +ve \(\rightarrow\) Up-regulation \(\uparrow\)
  • -ve \(\rightarrow\) Down-regulation \(\downarrow\)

27 Biological Significance (fold-change) 2/2

hist(fold, col = "gray") # Histogram of the fold

28 Statistical Significance (p-value) 1/3

29 t-test

Let’s say there are two samples x and y from the two populations, X and Y, respectively, to determine whether the means of two populations are significantly different, we can use t.test.

?t.test
t.test R Documentation

Student’s t-Test

Description

Performs one and two sample t-tests on vectors of data.

Usage

t.test(x, ...)

## Default S3 method:
t.test(x, y = NULL,
       alternative = c("two.sided", "less", "greater"),
       mu = 0, paired = FALSE, var.equal = FALSE,
       conf.level = 0.95, ...)

## S3 method for class 'formula'
t.test(formula, data, subset, na.action, ...)

Arguments

x

a (non-empty) numeric vector of data values.

y

an optional (non-empty) numeric vector of data values.

alternative

a character string specifying the alternative hypothesis, must be one of “two.sided” (default), “greater” or “less”. You can specify just the initial letter.

mu

a number indicating the true value of the mean (or difference in means if you are performing a two sample test).

paired

a logical indicating whether you want a paired t-test.

var.equal

a logical variable indicating whether to treat the two variances as being equal. If TRUE then the pooled variance is used to estimate the variance otherwise the Welch (or Satterthwaite) approximation to the degrees of freedom is used.

conf.level

confidence level of the interval.

formula

a formula of the form lhs ~ rhs where lhs is a numeric variable giving the data values and rhs a factor with two levels giving the corresponding groups.

data

an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).

subset

an optional vector specifying a subset of observations to be used.

na.action

a function which indicates what should happen when the data contain NAs. Defaults to getOption(“na.action”).

further arguments to be passed to or from methods.

Details

The formula interface is only applicable for the 2-sample tests.

alternative = “greater” is the alternative that x has a larger mean than y.

If paired is TRUE then both x and y must be specified and they must be the same length. Missing values are silently removed (in pairs if paired is TRUE). If var.equal is TRUE then the pooled estimate of the variance is used. By default, if var.equal is FALSE then the variance is estimated separately for both groups and the Welch modification to the degrees of freedom is used.

If the input data are effectively constant (compared to the larger of the two means) an error is generated.

Value

A list with class “htest” containing the following components:

statistic

the value of the t-statistic.

parameter

the degrees of freedom for the t-statistic.

p.value

the p-value for the test.

conf.int

a confidence interval for the mean appropriate to the specified alternative hypothesis.

estimate

the estimated mean or difference in means depending on whether it was a one-sample test or a two-sample test.

null.value

the specified hypothesized value of the mean or mean difference depending on whether it was a one-sample test or a two-sample test.

alternative

a character string describing the alternative hypothesis.

method

a character string indicating what type of t-test was performed.

data.name

a character string giving the name(s) of the data.

See Also

prop.test

Examples

require(graphics)

t.test(1:10, y = c(7:20))      # P = .00001855
t.test(1:10, y = c(7:20, 200)) # P = .1245    -- NOT significant anymore

## Classical example: Student's sleep data
plot(extra ~ group, data = sleep)
## Traditional interface
with(sleep, t.test(extra[group == 1], extra[group == 2]))
## Formula interface
t.test(extra ~ group, data = sleep)

30 t-test : Example 1

x = c(4, 3, 10, 7, 9) ; y = c(7, 4, 3, 8, 10)
t.test(x, y)
## 
##  Welch Two Sample t-test
## 
## data:  x and y
## t = 0.1066, df = 7.9743, p-value = 0.9177
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -4.12888  4.52888
## sample estimates:
## mean of x mean of y 
##       6.6       6.4
t.test(x, y)$p.value
## [1] 0.917739

31 t-test : Example 2

x = c(6, 8, 10, 7, 9) ; y = c(3, 2, 1, 4, 5)
t.test(x, y)
## 
##  Welch Two Sample t-test
## 
## data:  x and y
## t = 5, df = 8, p-value = 0.001053
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  2.693996 7.306004
## sample estimates:
## mean of x mean of y 
##         8         3
t.test(x, y)$p.value
## [1] 0.001052826

32 Statistical Significance (p-value) 2/3

Let’s compute the p-value for all genes using a for-loop of t.test, one gene at a time:

pvalue = NULL # Empty list for the p-values

for(i in 1 : number_of_genes) { # for each gene from to the number of genes
  x = wt[i, ] # wt values of gene number i
  y = ko[i, ] # ko values of gene number i
  t = t.test(x, y) # t-test between the two conditions
  pvalue[i] = t$p.value # Store p-value number i into the list of p-values
}
head(pvalue)
## [1] 0.092706280 0.182663337 0.129779075 0.272899180 0.262377176 0.005947807

33 Statistical Significance (p-value) 3/3

hist(-log10(pvalue), col = "gray") # Histogram of p-values (-log10)

34 Volcano : Statistical & Biological 1/3

plot(-log10(pvalue) ~ fold)

35 Volcano : Statistical & Biological 2/3

fold_cutoff = 2
pvalue_cutoff = 0.05

plot(-log10(pvalue) ~ fold)

abline(v = fold_cutoff, col = "blue", lwd = 3)
abline(v = -fold_cutoff, col = "red", lwd = 3)
abline(h = -log10(pvalue_cutoff), col = "green", lwd = 3)

36 Volcano : Statistical & Biological 3/3

37 Filtering for DEGs 1/3

filter_by_fold = abs(fold) >= fold_cutoff # Biological
sum(filter_by_fold) # Number of genes staisfy the condition
## [1] 6624
filter_by_pvalue = pvalue <= pvalue_cutoff # Statistical
sum(filter_by_pvalue)
## [1] 5099
filter_combined = filter_by_fold & filter_by_pvalue # Combined
sum(filter_combined)
## [1] 1463

38 Filtering for DEGs 2/3

filtered = data2[filter_combined, ]
dim(filtered)
## [1] 1463    6
head(filtered)
KO1 KO2 KO3 WT1 WT2 WT3
1415798_at 11.09843 11.16566 10.89921 10.01542 9.667821 9.980711
1415871_at 13.04617 13.35869 12.95530 11.35953 11.418591 11.347898
1415943_at 14.62102 14.66438 14.59319 13.36664 12.918584 12.651568
1415944_at 13.23788 13.27778 13.12553 12.01806 11.898412 11.784594
1416029_at 12.54885 12.55667 12.46087 11.40189 11.263093 11.537073
1416035_at 12.28621 12.39660 12.37732 10.97320 11.314697 11.363094

39 Filtering for DEGs 3/3

plot(-log10(pvalue) ~ fold)
points(-log10(pvalue[filter_combined]) ~ fold[filter_combined],
       col = "green")

40 Exercise

On the volcano plot, highlight the up-regulated genes in red and the download-regulated genes in blue

41 Solution 1/2

# Screen for the up-regulated genes (+ve fold)
filter_up = filter_combined & fold > 0

head(filter_up)
##   1415670_at   1415671_at   1415672_at   1415673_at 1415674_a_at 
##        FALSE        FALSE        FALSE        FALSE        FALSE 
##   1415675_at 
##        FALSE
# Number of filtered genes
sum(filter_up)
## [1] 707
# Screen for the down-regulated genes (-ve fold)
filter_down = filter_combined & fold < 0

head(filter_down)
##   1415670_at   1415671_at   1415672_at   1415673_at 1415674_a_at 
##        FALSE        FALSE        FALSE        FALSE        FALSE 
##   1415675_at 
##        FALSE
# Number of filtered genes
sum(filter_down)
## [1] 756

42 Solution 2/2

plot(-log10(pvalue) ~ fold)
points(-log10(pvalue[filter_up]) ~ fold[filter_up], col = "red")
points(-log10(pvalue[filter_down]) ~ fold[filter_down], col = "blue")

43 Heatmap 1/6

heatmap(filtered)

44 Heatmap 2/6

45 Heatmap 3/6

# Clustering of the columns (samples)
col_dendrogram = as.dendrogram(hclust(as.dist(1-cor(filtered))))
plot(col_dendrogram)

46 Heatmap 4/6

# Clustering of the rows (genes)
row_dendrogram = as.dendrogram(hclust(as.dist(1-cor(t(filtered)))))
plot(row_dendrogram)

47 Heatmap 5/6

# Heatmap with the rows and columns clustered by correlation coefficients
heatmap(filtered, Rowv=row_dendrogram, Colv=col_dendrogram)

48 Heatmap 6/6

library(gplots) # Load the gplots library
heatmap(filtered, Rowv=row_dendrogram, Colv=col_dendrogram, col = rev(redgreen(1024)))

49 Annnotation 1/3

To obtain the functional annotation of the differentially expressed genes, we are going first to extract their probe ids:

filterd_ids = row.names(filtered) # ids of the filtered DE genes
length(filterd_ids)
## [1] 1463
head(filterd_ids)
## [1] "1415798_at" "1415871_at" "1415943_at" "1415944_at" "1416029_at"
## [6] "1416035_at"

50 Annnotation 2/3

Then we will generate a comprehensive functional annotation via BioConductor packages annaffy and mouse4302.db.

To install BioConductor packages (if they are not already installed):

source("http://bioconductor.org/biocLite.R")
biocLite(c("annaffy", "mouse4302.db"))

Load the packages and extract annotation of the filtered ids:

library(annaffy)
annotation_table = aafTableAnn(filterd_ids, "mouse4302.db")
saveHTML(annotation_table, file="filtered.html")
browseURL("filtered.html")
## Loading required package: Biobase
## Loading required package: BiocGenerics
## Loading required package: parallel
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:parallel':
## 
##     clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
##     clusterExport, clusterMap, parApply, parCapply, parLapply,
##     parLapplyLB, parRapply, parSapply, parSapplyLB
## The following objects are masked from 'package:dplyr':
## 
##     combine, intersect, setdiff, union
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, append, as.data.frame, cbind, colMeans,
##     colnames, colSums, do.call, duplicated, eval, evalq, Filter,
##     Find, get, grep, grepl, intersect, is.unsorted, lapply,
##     lengths, Map, mapply, match, mget, order, paste, pmax,
##     pmax.int, pmin, pmin.int, Position, rank, rbind, Reduce,
##     rowMeans, rownames, rowSums, sapply, setdiff, sort, table,
##     tapply, union, unique, unsplit, which, which.max, which.min
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with
##     'browseVignettes()'. To cite Bioconductor, see
##     'citation("Biobase")', and for packages 'citation("pkgname")'.
## Loading required package: GO.db
## Loading required package: AnnotationDbi
## Loading required package: stats4
## Loading required package: IRanges
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:gplots':
## 
##     space
## The following objects are masked from 'package:dplyr':
## 
##     first, rename
## The following object is masked from 'package:base':
## 
##     expand.grid
## 
## Attaching package: 'IRanges'
## The following objects are masked from 'package:dplyr':
## 
##     collapse, desc, slice
## 
## Attaching package: 'AnnotationDbi'
## The following object is masked from 'package:dplyr':
## 
##     select
## 
## Loading required package: KEGG.db
## 
## KEGG.db contains mappings based on older data because the original
##   resource was removed from the the public domain before the most
##   recent update was produced. This package should now be
##   considered deprecated and future versions of Bioconductor may
##   not have it available.  Users who want more current data are
##   encouraged to look at the KEGGREST or reactome.db packages
## Loading required package: mouse4302.db
## Loading required package: org.Mm.eg.db
## 
## 
## Warning in chkPkgs(chip): The mouse4302.db package does not appear to
## contain annotation data.
## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries

## Warning in rsqlite_fetch(res@ptr, n = n): Don't need to call dbFetch() for
## statements, only for queries
## An object of class "aafTable"
## Slot "probeids":
## [1] "1415798_at"
## 
## Slot "table":
## $Probe
## An object of class "aafList"
## [[1]]
## An object of class "aafProbe"
## [1] "1415798_at"
## 
## 
## $Symbol
## An object of class "aafList"
## [[1]]
## [1] "Ddr1"
## attr(,"class")
## [1] "aafSymbol"
## 
## 
## $Description
## An object of class "aafList"
## [[1]]
## [1] "discoidin domain receptor family, member 1"
## attr(,"class")
## [1] "aafDescription"
## 
## 
## $Chromosome
## An object of class "aafList"
## [[1]]
## [1] "17"
## attr(,"class")
## [1] "aafChromosome"
## 
## 
## $`Chromosome Location`
## An object of class "aafList"
## [[1]]
## An object of class "aafChromLoc"
## [1] -35681566 -35681566 -35681566
## 
## 
## $GenBank
## An object of class "aafList"
## [[1]]
## [1] "BF225985"
## attr(,"class")
## [1] "aafGenBank"
## 
## 
## $Gene
## An object of class "aafList"
## [[1]]
## An object of class "aafLocusLink"
## [1] 12305
## 
## 
## $UniGene
## An object of class "aafList"
## [[1]]
## [1] "Mm.5021"
## attr(,"class")
## [1] "aafUniGene"
## 
## 
## $PubMed
## An object of class "aafList"
## [[1]]
## An object of class "aafPubMed"
##  [1]  1281307  7558021  7774938  8127887  8302582  8397369  8530024
##  [8]  8622863  8889548 10349636 10970885 11042159 11076861 11114734
## [15] 11217851 11254672 11283268 12065315 12397034 12466851 12477932
## [22] 12904583 14610273 15200417 15226823 15782199 16141072 16141073
## [29] 16167341 16602821 16603319 16690978 16783635 16806867 17093065
## [36] 17113033 17210447 17658952 17969104 18026164 18287559 18451340
## [43] 18799693 18836851 19007791 19401332 19834008 19893047 19900459
## [50] 20093046 20307660 20448217 20576036 21267068 21289093 21344393
## [57] 21499918 21640971 21947380 22019896 22751008 23335507 23382219
## [64] 24391948 24480069 25307162 25992553 26800565 26855149 27329311
## [71] 27915093
## 
## 
## $`Gene Ontology`
## An object of class "aafList"
## [[1]]
## An object of class "aafGO"
## [[1]][[1]]
## An object of class "aafGOItem"
## @id   "GO:0000166"
## @name "nucleotide binding"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[2]]
## An object of class "aafGOItem"
## @id   "GO:0001558"
## @name "regulation of cell growth"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[3]]
## An object of class "aafGOItem"
## @id   "GO:0001952"
## @name "regulation of cell-matrix adhesion"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[4]]
## An object of class "aafGOItem"
## @id   "GO:0004672"
## @name "protein kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[5]]
## An object of class "aafGOItem"
## @id   "GO:0004713"
## @name "protein tyrosine kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[6]]
## An object of class "aafGOItem"
## @id   "GO:0004714"
## @name "transmembrane receptor protein tyrosine kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[7]]
## An object of class "aafGOItem"
## @id   "GO:0005518"
## @name "collagen binding"
## @type "Molecular Function"
## @evid "IDA"
## 
## [[1]][[8]]
## An object of class "aafGOItem"
## @id   "GO:0005518"
## @name "collagen binding"
## @type "Molecular Function"
## @evid "IMP"
## 
## [[1]][[9]]
## An object of class "aafGOItem"
## @id   "GO:0005518"
## @name "collagen binding"
## @type "Molecular Function"
## @evid "ISO"
## 
## [[1]][[10]]
## An object of class "aafGOItem"
## @id   "GO:0005524"
## @name "ATP binding"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[11]]
## An object of class "aafGOItem"
## @id   "GO:0005615"
## @name "extracellular space"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[12]]
## An object of class "aafGOItem"
## @id   "GO:0005886"
## @name "plasma membrane"
## @type "Cellular Component"
## @evid "IDA"
## 
## [[1]][[13]]
## An object of class "aafGOItem"
## @id   "GO:0005887"
## @name "integral component of plasma membrane"
## @type "Cellular Component"
## @evid "IEA"
## 
## [[1]][[14]]
## An object of class "aafGOItem"
## @id   "GO:0006468"
## @name "protein phosphorylation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[15]]
## An object of class "aafGOItem"
## @id   "GO:0007169"
## @name "transmembrane receptor protein tyrosine kinase signaling pathway"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[16]]
## An object of class "aafGOItem"
## @id   "GO:0007565"
## @name "female pregnancy"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[17]]
## An object of class "aafGOItem"
## @id   "GO:0007566"
## @name "embryo implantation"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[18]]
## An object of class "aafGOItem"
## @id   "GO:0007595"
## @name "lactation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[19]]
## An object of class "aafGOItem"
## @id   "GO:0008285"
## @name "negative regulation of cell proliferation"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[20]]
## An object of class "aafGOItem"
## @id   "GO:0010715"
## @name "regulation of extracellular matrix disassembly"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[21]]
## An object of class "aafGOItem"
## @id   "GO:0010715"
## @name "regulation of extracellular matrix disassembly"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[22]]
## An object of class "aafGOItem"
## @id   "GO:0014909"
## @name "smooth muscle cell migration"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[23]]
## An object of class "aafGOItem"
## @id   "GO:0014909"
## @name "smooth muscle cell migration"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[24]]
## An object of class "aafGOItem"
## @id   "GO:0016020"
## @name "membrane"
## @type "Cellular Component"
## @evid "IEA"
## 
## [[1]][[25]]
## An object of class "aafGOItem"
## @id   "GO:0016021"
## @name "integral component of membrane"
## @type "Cellular Component"
## @evid "IEA"
## 
## [[1]][[26]]
## An object of class "aafGOItem"
## @id   "GO:0016301"
## @name "kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[27]]
## An object of class "aafGOItem"
## @id   "GO:0016310"
## @name "phosphorylation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[28]]
## An object of class "aafGOItem"
## @id   "GO:0016323"
## @name "basolateral plasma membrane"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[29]]
## An object of class "aafGOItem"
## @id   "GO:0016740"
## @name "transferase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[30]]
## An object of class "aafGOItem"
## @id   "GO:0018108"
## @name "peptidyl-tyrosine phosphorylation"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[31]]
## An object of class "aafGOItem"
## @id   "GO:0038062"
## @name "protein tyrosine kinase collagen receptor activity"
## @type "Molecular Function"
## @evid "ISO"
## 
## [[1]][[32]]
## An object of class "aafGOItem"
## @id   "GO:0038063"
## @name "collagen-activated tyrosine kinase receptor signaling pathway"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[33]]
## An object of class "aafGOItem"
## @id   "GO:0038063"
## @name "collagen-activated tyrosine kinase receptor signaling pathway"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[34]]
## An object of class "aafGOItem"
## @id   "GO:0038063"
## @name "collagen-activated tyrosine kinase receptor signaling pathway"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[35]]
## An object of class "aafGOItem"
## @id   "GO:0038083"
## @name "peptidyl-tyrosine autophosphorylation"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[36]]
## An object of class "aafGOItem"
## @id   "GO:0038083"
## @name "peptidyl-tyrosine autophosphorylation"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[37]]
## An object of class "aafGOItem"
## @id   "GO:0043235"
## @name "receptor complex"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[38]]
## An object of class "aafGOItem"
## @id   "GO:0043583"
## @name "ear development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[39]]
## An object of class "aafGOItem"
## @id   "GO:0044319"
## @name "wound healing, spreading of cells"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[40]]
## An object of class "aafGOItem"
## @id   "GO:0044319"
## @name "wound healing, spreading of cells"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[41]]
## An object of class "aafGOItem"
## @id   "GO:0046777"
## @name "protein autophosphorylation"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[42]]
## An object of class "aafGOItem"
## @id   "GO:0046777"
## @name "protein autophosphorylation"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[43]]
## An object of class "aafGOItem"
## @id   "GO:0046872"
## @name "metal ion binding"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[44]]
## An object of class "aafGOItem"
## @id   "GO:0060444"
## @name "branching involved in mammary gland duct morphogenesis"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[45]]
## An object of class "aafGOItem"
## @id   "GO:0060749"
## @name "mammary gland alveolus development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[46]]
## An object of class "aafGOItem"
## @id   "GO:0061302"
## @name "smooth muscle cell-matrix adhesion"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[47]]
## An object of class "aafGOItem"
## @id   "GO:0061302"
## @name "smooth muscle cell-matrix adhesion"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[48]]
## An object of class "aafGOItem"
## @id   "GO:0061564"
## @name "axon development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[49]]
## An object of class "aafGOItem"
## @id   "GO:0070062"
## @name "extracellular exosome"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[50]]
## An object of class "aafGOItem"
## @id   "GO:1990138"
## @name "neuron projection extension"
## @type "Biological Process"
## @evid "IMP"
## 
## 
## 
## $Pathway
## An object of class "aafList"
## [[1]]
## An object of class "aafPathway"
## list()

51 Annnotation 3/3

Annotation

Annotation

52 Exercise

Generate separate annotations for the up-regulated and down-regulated differentially expressed genes between WT and KO. Discuss each set in a molecular context as detailed as possible.

53 Solution 1/2

Generating two lists of IDs for the up- and down- regulated genes

up_ids = ids[filter_up] # IDs of up-regulated genes
length(up_ids)
## [1] 707
head(up_ids)
## [1] "1415798_at" "1415871_at" "1415943_at" "1415944_at" "1416029_at"
## [6] "1416035_at"
down_ids = ids[filter_down] # IDs of down-regulared genes
length(down_ids)
## [1] 756
head(down_ids)
## [1] "1416067_at" "1416107_at" "1416188_at" "1416516_at" "1416592_at"
## [6] "1416623_at"

54 Solution 2/2

Obtaining the annotation of the up- and down- regulated genes into tables

up_table = aafTableAnn(up_ids, "mouse4302.db")
head(up_table)
saveHTML(up_table, file="up_table.html")
browseURL("up_table.html")

down_table = aafTableAnn(down_ids, "mouse4302.db")
head(down_table)
saveHTML(down_table, file="down_table.html")
browseURL("down_table.html")
## An object of class "aafTable"
## Slot "probeids":
## [1] "1415798_at"
## 
## Slot "table":
## $Probe
## An object of class "aafList"
## [[1]]
## An object of class "aafProbe"
## [1] "1415798_at"
## 
## 
## $Symbol
## An object of class "aafList"
## [[1]]
## [1] "Ddr1"
## attr(,"class")
## [1] "aafSymbol"
## 
## 
## $Description
## An object of class "aafList"
## [[1]]
## [1] "discoidin domain receptor family, member 1"
## attr(,"class")
## [1] "aafDescription"
## 
## 
## $Chromosome
## An object of class "aafList"
## [[1]]
## [1] "17"
## attr(,"class")
## [1] "aafChromosome"
## 
## 
## $`Chromosome Location`
## An object of class "aafList"
## [[1]]
## An object of class "aafChromLoc"
## [1] -35681566 -35681566 -35681566
## 
## 
## $GenBank
## An object of class "aafList"
## [[1]]
## [1] "BF225985"
## attr(,"class")
## [1] "aafGenBank"
## 
## 
## $Gene
## An object of class "aafList"
## [[1]]
## An object of class "aafLocusLink"
## [1] 12305
## 
## 
## $UniGene
## An object of class "aafList"
## [[1]]
## [1] "Mm.5021"
## attr(,"class")
## [1] "aafUniGene"
## 
## 
## $PubMed
## An object of class "aafList"
## [[1]]
## An object of class "aafPubMed"
##  [1]  1281307  7558021  7774938  8127887  8302582  8397369  8530024
##  [8]  8622863  8889548 10349636 10970885 11042159 11076861 11114734
## [15] 11217851 11254672 11283268 12065315 12397034 12466851 12477932
## [22] 12904583 14610273 15200417 15226823 15782199 16141072 16141073
## [29] 16167341 16602821 16603319 16690978 16783635 16806867 17093065
## [36] 17113033 17210447 17658952 17969104 18026164 18287559 18451340
## [43] 18799693 18836851 19007791 19401332 19834008 19893047 19900459
## [50] 20093046 20307660 20448217 20576036 21267068 21289093 21344393
## [57] 21499918 21640971 21947380 22019896 22751008 23335507 23382219
## [64] 24391948 24480069 25307162 25992553 26800565 26855149 27329311
## [71] 27915093
## 
## 
## $`Gene Ontology`
## An object of class "aafList"
## [[1]]
## An object of class "aafGO"
## [[1]][[1]]
## An object of class "aafGOItem"
## @id   "GO:0000166"
## @name "nucleotide binding"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[2]]
## An object of class "aafGOItem"
## @id   "GO:0001558"
## @name "regulation of cell growth"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[3]]
## An object of class "aafGOItem"
## @id   "GO:0001952"
## @name "regulation of cell-matrix adhesion"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[4]]
## An object of class "aafGOItem"
## @id   "GO:0004672"
## @name "protein kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[5]]
## An object of class "aafGOItem"
## @id   "GO:0004713"
## @name "protein tyrosine kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[6]]
## An object of class "aafGOItem"
## @id   "GO:0004714"
## @name "transmembrane receptor protein tyrosine kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[7]]
## An object of class "aafGOItem"
## @id   "GO:0005518"
## @name "collagen binding"
## @type "Molecular Function"
## @evid "IDA"
## 
## [[1]][[8]]
## An object of class "aafGOItem"
## @id   "GO:0005518"
## @name "collagen binding"
## @type "Molecular Function"
## @evid "IMP"
## 
## [[1]][[9]]
## An object of class "aafGOItem"
## @id   "GO:0005518"
## @name "collagen binding"
## @type "Molecular Function"
## @evid "ISO"
## 
## [[1]][[10]]
## An object of class "aafGOItem"
## @id   "GO:0005524"
## @name "ATP binding"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[11]]
## An object of class "aafGOItem"
## @id   "GO:0005615"
## @name "extracellular space"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[12]]
## An object of class "aafGOItem"
## @id   "GO:0005886"
## @name "plasma membrane"
## @type "Cellular Component"
## @evid "IDA"
## 
## [[1]][[13]]
## An object of class "aafGOItem"
## @id   "GO:0005887"
## @name "integral component of plasma membrane"
## @type "Cellular Component"
## @evid "IEA"
## 
## [[1]][[14]]
## An object of class "aafGOItem"
## @id   "GO:0006468"
## @name "protein phosphorylation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[15]]
## An object of class "aafGOItem"
## @id   "GO:0007169"
## @name "transmembrane receptor protein tyrosine kinase signaling pathway"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[16]]
## An object of class "aafGOItem"
## @id   "GO:0007565"
## @name "female pregnancy"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[17]]
## An object of class "aafGOItem"
## @id   "GO:0007566"
## @name "embryo implantation"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[18]]
## An object of class "aafGOItem"
## @id   "GO:0007595"
## @name "lactation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[19]]
## An object of class "aafGOItem"
## @id   "GO:0008285"
## @name "negative regulation of cell proliferation"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[20]]
## An object of class "aafGOItem"
## @id   "GO:0010715"
## @name "regulation of extracellular matrix disassembly"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[21]]
## An object of class "aafGOItem"
## @id   "GO:0010715"
## @name "regulation of extracellular matrix disassembly"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[22]]
## An object of class "aafGOItem"
## @id   "GO:0014909"
## @name "smooth muscle cell migration"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[23]]
## An object of class "aafGOItem"
## @id   "GO:0014909"
## @name "smooth muscle cell migration"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[24]]
## An object of class "aafGOItem"
## @id   "GO:0016020"
## @name "membrane"
## @type "Cellular Component"
## @evid "IEA"
## 
## [[1]][[25]]
## An object of class "aafGOItem"
## @id   "GO:0016021"
## @name "integral component of membrane"
## @type "Cellular Component"
## @evid "IEA"
## 
## [[1]][[26]]
## An object of class "aafGOItem"
## @id   "GO:0016301"
## @name "kinase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[27]]
## An object of class "aafGOItem"
## @id   "GO:0016310"
## @name "phosphorylation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[28]]
## An object of class "aafGOItem"
## @id   "GO:0016323"
## @name "basolateral plasma membrane"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[29]]
## An object of class "aafGOItem"
## @id   "GO:0016740"
## @name "transferase activity"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[30]]
## An object of class "aafGOItem"
## @id   "GO:0018108"
## @name "peptidyl-tyrosine phosphorylation"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[31]]
## An object of class "aafGOItem"
## @id   "GO:0038062"
## @name "protein tyrosine kinase collagen receptor activity"
## @type "Molecular Function"
## @evid "ISO"
## 
## [[1]][[32]]
## An object of class "aafGOItem"
## @id   "GO:0038063"
## @name "collagen-activated tyrosine kinase receptor signaling pathway"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[33]]
## An object of class "aafGOItem"
## @id   "GO:0038063"
## @name "collagen-activated tyrosine kinase receptor signaling pathway"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[34]]
## An object of class "aafGOItem"
## @id   "GO:0038063"
## @name "collagen-activated tyrosine kinase receptor signaling pathway"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[35]]
## An object of class "aafGOItem"
## @id   "GO:0038083"
## @name "peptidyl-tyrosine autophosphorylation"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[36]]
## An object of class "aafGOItem"
## @id   "GO:0038083"
## @name "peptidyl-tyrosine autophosphorylation"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[37]]
## An object of class "aafGOItem"
## @id   "GO:0043235"
## @name "receptor complex"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[38]]
## An object of class "aafGOItem"
## @id   "GO:0043583"
## @name "ear development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[39]]
## An object of class "aafGOItem"
## @id   "GO:0044319"
## @name "wound healing, spreading of cells"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[40]]
## An object of class "aafGOItem"
## @id   "GO:0044319"
## @name "wound healing, spreading of cells"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[41]]
## An object of class "aafGOItem"
## @id   "GO:0046777"
## @name "protein autophosphorylation"
## @type "Biological Process"
## @evid "IDA"
## 
## [[1]][[42]]
## An object of class "aafGOItem"
## @id   "GO:0046777"
## @name "protein autophosphorylation"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[43]]
## An object of class "aafGOItem"
## @id   "GO:0046872"
## @name "metal ion binding"
## @type "Molecular Function"
## @evid "IEA"
## 
## [[1]][[44]]
## An object of class "aafGOItem"
## @id   "GO:0060444"
## @name "branching involved in mammary gland duct morphogenesis"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[45]]
## An object of class "aafGOItem"
## @id   "GO:0060749"
## @name "mammary gland alveolus development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[46]]
## An object of class "aafGOItem"
## @id   "GO:0061302"
## @name "smooth muscle cell-matrix adhesion"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[47]]
## An object of class "aafGOItem"
## @id   "GO:0061302"
## @name "smooth muscle cell-matrix adhesion"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[48]]
## An object of class "aafGOItem"
## @id   "GO:0061564"
## @name "axon development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[49]]
## An object of class "aafGOItem"
## @id   "GO:0070062"
## @name "extracellular exosome"
## @type "Cellular Component"
## @evid "ISO"
## 
## [[1]][[50]]
## An object of class "aafGOItem"
## @id   "GO:1990138"
## @name "neuron projection extension"
## @type "Biological Process"
## @evid "IMP"
## 
## 
## 
## $Pathway
## An object of class "aafList"
## [[1]]
## An object of class "aafPathway"
## list()
## An object of class "aafTable"
## Slot "probeids":
## [1] "1416067_at"
## 
## Slot "table":
## $Probe
## An object of class "aafList"
## [[1]]
## An object of class "aafProbe"
## [1] "1416067_at"
## 
## 
## $Symbol
## An object of class "aafList"
## [[1]]
## [1] "Ifrd1"
## attr(,"class")
## [1] "aafSymbol"
## 
## 
## $Description
## An object of class "aafList"
## [[1]]
## [1] "interferon-related developmental regulator 1"
## attr(,"class")
## [1] "aafDescription"
## 
## 
## $Chromosome
## An object of class "aafList"
## [[1]]
## [1] "12"
## attr(,"class")
## [1] "aafChromosome"
## 
## 
## $`Chromosome Location`
## An object of class "aafList"
## [[1]]
## An object of class "aafChromLoc"
## [1] -40203128
## 
## 
## $GenBank
## An object of class "aafList"
## [[1]]
## [1] "NM_013562"
## attr(,"class")
## [1] "aafGenBank"
## 
## 
## $Gene
## An object of class "aafList"
## [[1]]
## An object of class "aafLocusLink"
## [1] 15982
## 
## 
## $UniGene
## An object of class "aafList"
## [[1]]
## [1] "Mm.168"
## attr(,"class")
## [1] "aafUniGene"
## 
## 
## $PubMed
## An object of class "aafList"
## [[1]]
## An object of class "aafPubMed"
##  [1]  2797820  3185562  6179042  7756174  9371744  9722946 10349636
##  [8] 10922068 11042159 11044609 11076861 11217851 12198164 12451703
## [15] 12466851 12477932 12520002 14610273 15060170 15743821 15782199
## [22] 16085642 16141072 16141073 16204248 16602821 17634072 18052984
## [29] 19242412 20861213 21127072 21267068 21677750 21723850 23517917
## [36] 25059825 26391411 27856249 28107769
## 
## 
## $`Gene Ontology`
## An object of class "aafList"
## [[1]]
## An object of class "aafGO"
## [[1]][[1]]
## An object of class "aafGOItem"
## @id   "GO:0005634"
## @name "nucleus"
## @type "Cellular Component"
## @evid "IDA"
## 
## [[1]][[2]]
## An object of class "aafGOItem"
## @id   "GO:0005737"
## @name "cytoplasm"
## @type "Cellular Component"
## @evid "IDA"
## 
## [[1]][[3]]
## An object of class "aafGOItem"
## @id   "GO:0007275"
## @name "multicellular organism development"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[4]]
## An object of class "aafGOItem"
## @id   "GO:0014706"
## @name "striated muscle tissue development"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[5]]
## An object of class "aafGOItem"
## @id   "GO:0030154"
## @name "cell differentiation"
## @type "Biological Process"
## @evid "IEA"
## 
## [[1]][[6]]
## An object of class "aafGOItem"
## @id   "GO:0030517"
## @name "negative regulation of axon extension"
## @type "Biological Process"
## @evid "IGI"
## 
## [[1]][[7]]
## An object of class "aafGOItem"
## @id   "GO:0042692"
## @name "muscle cell differentiation"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[8]]
## An object of class "aafGOItem"
## @id   "GO:0043403"
## @name "skeletal muscle tissue regeneration"
## @type "Biological Process"
## @evid "IMP"
## 
## [[1]][[9]]
## An object of class "aafGOItem"
## @id   "GO:0045944"
## @name "positive regulation of transcription from RNA polymerase II promoter"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[10]]
## An object of class "aafGOItem"
## @id   "GO:0048671"
## @name "negative regulation of collateral sprouting"
## @type "Biological Process"
## @evid "IGI"
## 
## [[1]][[11]]
## An object of class "aafGOItem"
## @id   "GO:0051091"
## @name "positive regulation of DNA binding transcription factor activity"
## @type "Biological Process"
## @evid "ISO"
## 
## [[1]][[12]]
## An object of class "aafGOItem"
## @id   "GO:0061629"
## @name "RNA polymerase II sequence-specific DNA binding transcription factor binding"
## @type "Molecular Function"
## @evid "ISO"
## 
## 
## 
## $Pathway
## An object of class "aafList"
## [[1]]
## An object of class "aafPathway"
## list()

55 Sanity Check (Irf6)

Down Regulation of Irf6

Down Regulation of Irf6

56 Thank you!